package br.com.zonavibe.model;

import java.io.Serializable;
import java.sql.Date;

import br.com.zonavibe.utils.JavaDate;

public class Aluno implements Serializable {

	private static final long serialVersionUID = 1L;

	private int idAluno;
	private String nome;
	private String nmPai;
	private String nmMae;
	private String endereco;
	private String telRes;
	private String telCel;
	private String cep;
	private String cidade;
	private Estado estado;
	private String bairro;
	private String cpf;
	private String rg;
	private Date dataNascimento;
	private String dataNascimentoStr;
	private Date dataCadastro;
	private String dataCadastroStr;
	private String email;
	private Categoria categoria;

	/**
	 * Gets and Sets
	 * */

	public int getIdAluno() {
		return idAluno;
	}

	public void setIdAluno(int idAluno) {
		this.idAluno = idAluno;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getEndereco() {
		return endereco;
	}

	public void setEndereco(String endereco) {
		this.endereco = endereco;
	}

	public String getTelRes() {
		return telRes;
	}

	public void setTelRes(String telRes) {
		this.telRes = telRes;
	}

	public String getTelCel() {
		return telCel;
	}

	public void setTelCel(String telCel) {
		this.telCel = telCel;
	}

	public String getCep() {
		return cep;
	}

	public void setCep(String cep) {
		this.cep = cep;
	}

	public String getCidade() {
		return cidade;
	}

	public void setCidade(String cidade) {
		this.cidade = cidade;
	}

	public Estado getEstado() {
		return estado;
	}

	public void setEstado(Estado estado) {
		this.estado = estado;
	}

	public String getBairro() {
		return bairro;
	}

	public void setBairro(String bairro) {
		this.bairro = bairro;
	}

	public String getCpf() {
		return cpf;
	}

	public void setCpf(String cpf) {
		this.cpf = cpf;
	}

	public String getRg() {
		return rg;
	}

	public void setRg(String rg) {
		this.rg = rg;
	}

	public Date getDataNascimento() {
		if (!this.dataNascimentoStr.equals("") && !this.dataNascimentoStr.equals(null)) {
			return JavaDate.formateStringToDate(this.dataNascimentoStr, JavaDate.DATA_YYYY_MM_DD);
		} else {
			return dataNascimento;
		}
	}

	public void setDataNascimento(Date dataNascimento) {
		this.dataNascimento = dataNascimento;
		setDataNascimentoStr(JavaDate.formateDateToString(dataNascimento, JavaDate.DATA_DD_MM_YYYY));
	}

	public Date getDataCadastro() {
		if (!this.dataCadastroStr.equals("") && !this.dataCadastroStr.equals(null)) {
			return JavaDate.formateStringToDate(this.dataCadastroStr, JavaDate.DATA_YYYY_MM_DD);
		} else {
			return dataCadastro;
		}
	}

	public void setDataCadastro(Date dataCadastro) {
		this.dataCadastro = dataCadastro;
		setDataCadastroStr(JavaDate.formateDateToString(dataCadastro, JavaDate.DATA_DD_MM_YYYY));
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public Categoria getCategoria() {
		return categoria;
	}

	public void setCategoria(Categoria categoria) {
		this.categoria = categoria;
	}

	public String getNmPai() {
		return nmPai;
	}

	public void setNmPai(String nmPai) {
		this.nmPai = nmPai;
	}

	public String getNmMae() {
		return nmMae;
	}

	public void setNmMae(String nmMae) {
		this.nmMae = nmMae;
	}

	public String getDataNascimentoStr() {
		return dataNascimentoStr;
	}

	public void setDataNascimentoStr(String dataNascimentoStr) {
		this.dataNascimentoStr = dataNascimentoStr;
	}

	public String getDataCadastroStr() {
		return dataCadastroStr;
	}

	public void setDataCadastroStr(String dataCadastroStr) {
		this.dataCadastroStr = dataCadastroStr;
	}

}
